Developer --> Technical Publications
PATHHardware Documentation > USB Devices > Mac OS USB DDK API Reference


USBIsocRead

Isochronous data transfers are supported in version 1.1 and higher of the Mac OS USB software.

The USBIsocRead function supports isochronous read data transfers, and is defined as follows:

OSStatus USBIsocRead(USBIsocPB *pb);

Required fields in the isochronous version of the USBPB parameter block for the USBIsocRead function are

--> pbLength
Length of parameter block
--> pbVersion
Parameter block version, must be kUSBIsocPBVersion for isochronous function calls
<--usbStatus
Aggregate status, see discussion in The Isochronous Version Of The USBPB
--> usbCompletion
The completion routine
--> usbRefcon
General-purpose value passed back to the completion routine
--> usbReference
The isochronous pipe reference returned by the USBFindNextPipe function
--> usbReqCount
Specifies the size of the data to transfer. May be any size, but no less than the sum of the individual packets sizes. If set to 0, any non-zero size transfer causes an error.
--> usbBuffer
Points to a buffer to which the incoming data is transferred
<-- usbActCount
Specifies the actual amount of data transferred on completion
--> usbFlags
Should be set to 0
--> usb.isoc.FrameList
Pointer to the list of frame structures
--> frReqCount  Number of bytes requested for each packet
<-- frStatus    Status returned by packet
<-- frActCount  Actual bytes transferred by packet
--> usb.isoc.NumFrames
Number of frames to attempt transfers in
--> usbFrame
Frame number of the first frame to transfer data

A complete discussion of how isochronous support is implemented and additional details about using the fileds in the isochronous version of the USBPB parameter block can be found in Using the USBPB For Isochronous Transactions .


© 1999 Apple Computer, Inc.

Previous | Back Up One Level | Next | Show Frames | Hide Frames